The present invention is in the field of methodologies for engineering design activities, and more particularly in the field of methodologies for computationally intensive signal processing design or control system design activities.
Design of new products is becoming an increasingly complex activity because of reliance on high performance features requiring signal processing and feedback control. Many industries today also rely on complex processes to produce a product. For example, the semiconductor industry uses extremely complicated processes to produce products that typically have very narrow tolerances for final product characteristics. This situation presents a challenge for those designing products and control systems, in part because the design process is very computationally intensive. Similar challenges exist in any area where a complex product must be designed and its final characteristics tightly controlled. Current methodologies for design of products and control systems are inadequate in several respects. For example in the area of control of manufacturing processes or control of product behavior, standard control methods are currently used. Many modern products and manufacturing processes, however, are too complex for standard control methods to satisfactorily control them. Typical prior design methods are linear plans that do not provide alternatives required by the uncertainty of outcomes of computations and tests, and then permit planning based on resource utilization. Also, these prior methods do not incorporate actual experienced results of process execution and adjust projections accordingly.
It is difficult, if not impossible, to achieve satisfactory results using prior methods. There are many problems in applying such methods to complicated manufacturing processes or control of behavior of high performance products.
Prior methods implemented in design tools are not effective for several reasons. For example, prior design tools typically automate linear fragments of the design activity. Results of design steps are thus unknown or uncertain before the steps are actually carried out. For instance, compute time, computational errors and exceptions, and results of physical tests cannot be known in advance to aid in decision making. These prior tools require a user to make a large number of complex decisions that depend on results of many previous steps. This is a disadvantage because the user must usually possess specific knowledge or skills in order to properly use the information gained from execution of previous steps. It is a further disadvantage because intelligent decisions can only be made and incorporated after waiting for execution of design steps. No problem-specific guidance is available from prior tools for projecting with any accuracy what the results of design steps will be.
Most existing software design tools simply automate fragments of standard design methods. In general, the tools are ineffective when applied to control of design and manufacturing processes. In the conventional paradigm, scientists, process experts, and control experts work within different domains with different tools. Scientists typically operate in the domain of physical models using a tool such as Fortran TWOPNT 106 (Grcar, J., The TWOPNT Program for Boundary Value Problems, Sandia National Laboratories, SAND 91-8230, April, 1992). Process experts typically deal with the domain of process monitoring using a tool such as Lab View(copyright) (available from National Instruments, Austin, Tex.). Control experts use tools such as MATRIXX(copyright) (available from Integrated Systems, Inc., Sunnyvale, Calif.), or MATLAB(copyright) (available from Mathworks, Inc., Natick, Mass.). Efficient control requires an integration of information from each of in an easily usable format, which typically does not occur in current design tools.
A subsystem in a simulation model may consist of components such as an actuator in a reactor, the reactor vessel, reacting species, and the sensors. Because different physical phenomena may have to be simulated in different subsystems, the use of specialized software for each subsystem provides significant benefits in development time and in running time. Different subsystem simulation software packages are developed by domain specialists using one or more of standard software packages. However, complete access to all internal state variables of each subsystem along with its data flow is needed for integration of a complete and accurate system simulation.
The integration of information is prevented by the use of separate standard software packages such as those mentioned above. Without integrating the several software packages at the level of states of each subsystem, it is necessary to take very small steps during each iteration. The models in taking small steps may thereby exchange data in near real time. Each model will calculate its data in the small steps and wait for the slowest model to complete. The models may then exchange their data as necessary. This method has the disadvantage of very slow operation.
In order to integrate the use of several standard software packages, it would be necessary to have access to the source code of the packages or at least have access to the data structures internal to the packages. It is seldom possible to have the source code or the data structures internal to the software packages.
The present invention provides a method for designing high performance products incorporating signal processing and feedback control. In one embodiment, a block diagram may be used for a design cycle, for design optimization, or for design estimation. The block diagram contains a set of differential equations or difference equations that must be solved. The solution of these sets of equations may be performed by commercially available software tools. There will typically be more than one software tool used in a block diagram system, with a software tool dedicated to each block. In order to utilize the software tools without requiring access to source code or other descriptions of the internal structure of the tools, the system is decomposed using the technique of waveform relaxation. Once decomposed, the requirements for interprocessor communication are minimized.
In one embodiment, the decomposition using waveform relaxation operates directly to speed up the computations for the block diagram system, whether it is in control system design, system parameter identification, or product design cycle.
In another embodiment, the remaining interprocessor communications are held pending until the end of each iteration""s calculations in each block. In this manner the software tools may be executed on independent multiple processors.
In another embodiment, additional low fidelity models are added to the block diagram to accelerate the convergence and thus reduce the number of successive iterations required for a given final accuracy.
In another embodiment, non-stationary waveform relaxation methods are used. In non-stationary methods, the model representing each block may vary with each successive iteration. The variation may take the form of successively increasing the complexity and therefore the fidelity of each block with each successive iteration, starting with low fidelity models and finishing with high fidelity models. This advantageously gives fast convergence in early iterations and good accuracy in later iterations.